package com.ytjj.qmyx.admin.dao;

import com.ytjj.qmyx.admin.model.request.UserAddRequest;
import com.ytjj.qmyx.admin.model.request.UserRequest;
import com.ytjj.qmyx.admin.model.request.UserTrueRequest;
import com.ytjj.qmyx.admin.model.request.UsersBalanceRecordRequest;
import com.ytjj.qmyx.admin.model.response.DynamicExposureRecordResponse;
import com.ytjj.qmyx.admin.model.response.UserInfosResponse;
import com.ytjj.qmyx.mall.model.Orders;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {

    List<UserInfosResponse> selectList(UserRequest user);

    List<UserInfosResponse> virtualList(UserRequest user);

    int addUser(UserAddRequest request);

    int addUserInfo(UserAddRequest request);

    int updateTrueUser(UserTrueRequest request);

    int updateUser(UserAddRequest request);

    int updateUserScore(UserAddRequest request);

    int updateUserInfo(UserAddRequest request);

    UserInfosResponse getUsers(String tel);

    int updateMoney(UsersBalanceRecordRequest usersBalanceRecordRequest);

    Integer getUsersCount();

    Integer getUsersCountToday();

    Integer getCountBySource(String source);

    Integer getYestCountBySource(String source);

    List<UserInfosResponse> selectUserIdByAll();

    List<DynamicExposureRecordResponse> select(@Param("userName") String userName, @Param("userId") Integer userId);

    void updateIsQuality(Integer userId);

    int updateUserScoreByToken(@Param("token") String token,@Param("score") Integer score);
}
